package it.omnisong.client.widget;

import it.omnisong.client.model.StockArtist;
import it.omnisong.client.model.StockSong;
import it.omnisong.client.resources.Resources;

import java.util.ArrayList;

import com.extjs.gxt.ui.client.widget.TabItem;
import com.extjs.gxt.ui.client.widget.TabPanel;
import com.google.gwt.user.client.ui.AbstractImagePrototype;

public class ResultPanel extends TabPanel {
	
	final ResultPanel self = this;
	private TabItem artistItem = null;
	private TabItem songTitleItem = null;
	private TabItem lyricItem = null;
	
	public ResultPanel() {
		self.setPixelSize(600, 200);
		self.setAutoHeight(true);
		self.hide();
	}
	
	public void showArtistResult(ArrayList<StockArtist> retrievedArtist) {
		/* pulisco il pannello risultato, rimuovendo gli item precedenti */
		if(this.artistItem!=null)
			self.remove(this.artistItem);
		self.show();
		
		/* aggiungo il tab artist e gli associo la grid con i risultati ottenuti */
		artistItem= new TabItem("Artist");
		artistItem.setIcon(AbstractImagePrototype.create(Resources.ICONS.person())); // aggiungo la icona al tab artist
		GridWikilink wikilinkGrid = new GridWikilink();
		wikilinkGrid.setWikilinkResult(retrievedArtist);
		this.artistItem.add(wikilinkGrid);
		self.add(artistItem);
	}
	
	public void showSongResult(ArrayList<StockSong> retrievedSongs) {
		/* pulisco il pannello risultato, rimuovendo gli item precedenti */
		if(this.songTitleItem!=null)
			self.remove(this.songTitleItem);
		self.show();	
		
		/* aggiungo il tab song e gli associo la grid con i risultati ottenuti */
		songTitleItem= new TabItem("Song");
		songTitleItem.setIcon(AbstractImagePrototype.create(Resources.ICONS.song())); // aggiungo la icona al tab artist
		GridSong songGrid = new GridSong();
		songGrid.setSongResult(retrievedSongs);
		this.songTitleItem.add(songGrid);
		self.add(songTitleItem);
	}
	
	/* ancora devo implementarlo */
	public void showLyricResult(ArrayList<StockSong> retrievedSongs) {
		/* pulisco il pannello risultato, rimuovendo gli item precedenti */
		if(this.lyricItem!=null)
			self.remove(this.lyricItem);
		self.show();	
		
		/* aggiungo il tab lyric e gli associo la grid con i risultati ottenuti */
		lyricItem= new TabItem("Lyric");
		lyricItem.setIcon(AbstractImagePrototype.create(Resources.ICONS.lyric())); // aggiungo la icona al tab artist
		//GridWikilink wikilinkGrid = new GridWikilink();
		//wikilinkGrid.setWikilinkResult(retrieved);
		//this.lyricItem.add(wikilinkGrid);
		self.add(lyricItem);
	}
	
}
